#习题21 创建一个BankAccount类，使用私有属性_balance来存储账户余额，并提供公有方法deposit用于存款和withdraw用于取款。

class BankAccount():
    def __init__(self,balance):
        self._balance=balance  #加下划线 私有属性


    def deposit(self,amount):
        if amount<=0:
            raise '金额不能小于0'
        self._balance+=amount

    def withdraw(self,amount):
        if amount>0 and  amount <=self._balance:
            self._balance-=amount
        else:
            print("Withdrawal failed. Insufficient funds or invalid amount.")

    #习题22
    #在BankAccount类中添加一个公有方法get_balance，用于获取账户余额，但不允许直接修改_balance属性。
    def get_balance(self):
        return self._balance

if __name__ == '__main__':
    b1=BankAccount(100)
    # b1.deposit(-10)
    print(b1.get_balance())